create external table jms_ods.customer_session (
  `id` bigint comment '雪花id',
  `agent_id` bigint comment '坐席id',
  `agent_name` string comment '坐席昵称',
  `customer_id` bigint comment '访客id',
  `customer_name` string comment '访客昵称',
  `service_id` bigint comment '服务商id',
  `service_name` string comment '服务商名称',
  `skill_group_id` bigint comment '技能组id',
  `skill_group_code` string comment '技能组code',
  `skill_group_name` string comment '技能组名称',
  `extra_data` string comment '会话发起页json',
  `extra_session_id` string comment '会话端关联的外部sessionid',
  `waybill_no` string comment '运单号',
  `is_suspend` tinyint comment '是否挂起：1=是,2=否',
  `state` tinyint comment '会话状态 1：创建 2：无坐席 3：排队中、4：会话中、5：会话结束 6、排队放弃',
  `state_name` string comment '会话状态名称',
  `start_time` timestamp comment '会话开始时间',
  `end_time` timestamp comment '会话结束时间',
  `session_time` bigint comment '会话时长 (毫秒)',
  `queue_start_time` timestamp comment '排队开始时间',
  `queue_end_time` timestamp comment '排队结束时间',
  `queue_time` bigint comment '排队时长 (毫秒)',
  `current_msg_rounds_author` tinyint comment '上次消息发送者 (1:坐席,2:用户)',
  `current_msg_rounds_time` timestamp comment '上次消息发送时间',
  `msg_rounds` int comment '消息轮次',
  `first_reply_time` bigint comment '首次响应时长 (毫秒)',
  `avg_reply_time` bigint comment '平均响应时长 (毫秒)',
  `satisfied` tinyint  comment '是否已经推送过评价（2默认未评价 1已评价）',
  `satisfied_agent_invite` tinyint comment '是否是坐席主动邀请的评价 1：是 2：否',
  `end_type` tinyint comment '结束类型  默认: 0  客户结束: 1 客服结束: 2 客户超时: 3 客服超时: 4',
  `create_time` timestamp comment '创建时间',
  `update_time` timestamp comment '修改时间',
  `format_date` string comment '日期',
  `account` string comment '坐席账号',
  `transfer_agent_id` bigint comment '转接坐席id',
  `transfer_agent_name` string comment '转接坐席昵称',
  `transfer_account` string comment '转接坐席账号',
  `transfer_time` timestamp comment '转接时间',
  `pre_session_id` bigint comment '上一个会话id',
  `session_type` tinyint comment '1:人工会话，2机器人会话',
  `customer_level` tinyint comment '访客级别 1:普通 2:vip',
  `is_convert_agent` tinyint comment '是否机器人会话转人工 1: 是 2: 否',
  `robot_chat_record_state` tinyint comment '机器人记录同步状态 1: 是  2: 否  3: 成功  4: 失败',
  `ref_work_order` tinyint comment '是否映射工单： 1-是 2-否',
  `service_network_type` string comment '网点类型',
  `service_network_id` int comment '网点id',
  `service_network_name` string comment '网点名称',
  `financial_center_type` string comment '结算中心类型',
  `financial_center_id` int comment '结算中心id',
  `financial_center_name` string comment '结算中心名称',
  `service_agency_id` int comment '代理区id',
  `service_agency_name` string comment '代理区名称',
  `customer_phone` string comment '访客手机号(脱敏)',
  `customer_phone_encrypted` string comment '访客手机号(加密)',
  `service_network_code` string comment '服务网点code',
  `service_agency_code` string comment '服务代理区code',
  `financial_center_code` string comment '结算中心code'
) comment  '访客会话表'
PARTITIONED BY (
  `dt` string COMMENT '时间分区')
ROW FORMAT SERDE
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  '/dw/hive/jms_ods.db/external/customer_session'